﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using entgp.Code;
using Subgurim.Controles;
using ENT.GP.Core.Core;
using ENT.GP.Core.Proyecto;

public partial class Georeferencial_Mapas : PaginasUsuario
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
        UbicarProyectos();
    }

    void UbicarProyectos()
    {
        
        try
        {
            ProyectoCriterio criterio = ProyectoCriterio.NewProyectoCriterio();
            criterio.IdEmpresa = this.IdEmp;
            var listaProyectos = ProyectoLista.GetProyectoLista(criterio);
            foreach (var proyecto in listaProyectos)
            {

                GMap1.addGMapUI(new GMapUI());
                GMap1.enableGKeyboardHandler = true;


                GLatLng latlong = new GLatLng(proyecto.Latitud, proyecto.Longitud);
                GMapType.GTypes maptype = GMapType.GTypes.Hybrid;
                GMap1.setCenter(latlong, 9, maptype);
                GMarker icono = new GMarker(latlong);

                GInfoWindowTabs InfoTabs = new GInfoWindowTabs();
                InfoTabs.point = latlong;
                InfoTabs.gMarker = icono;
                System.Collections.Generic.List<GInfoWindowTab> tabs = new System.Collections.Generic.List<GInfoWindowTab>();

                tabs.Add(new GInfoWindowTab("Descripción", proyecto.Descripcion));
                tabs.Add(new GInfoWindowTab("Costo", proyecto.Presupuesto.ToString()));
                tabs.Add(new GInfoWindowTab("Población", FormarHtmlPA(proyecto.PoblacionAfectada, proyecto.NumeroHabitantes)));
                var giwo = new GInfoWindowOptions();
                giwo.maxWidth = 300;

                InfoTabs.options = giwo;
                InfoTabs.tabs = tabs;
                GMap1.addInfoWindowTabs(InfoTabs);

                GMap1.addControl(new GControl(GControl.extraBuilt.MarkCenter));
            }
        }
        catch (Exception ex)
        {
            Util.RegistarLog(ex.ToString());
        }
    }

    

    string FormarHtmlPA(int idPA, double numeroHabitantes)
    {
        string PA = "", res = "";
        switch (idPA)
        {
            case 605:
                PA = "Urbano";
                break;
            case 606:
                PA = "Urbano Marginal";
                break;
            case 607:
                PA = "Rural";
                break;
        }

        res = string.Format("<div style=\"font-family:Tahoma, Geneva, sans-serif;\"><p>La poblaci&oacute;n afectada es: <font style=\"font-weight:bold;\">{0}</font></p><p>El n&uacute;mero de habitantes beneficiados es de: <font style=\"font-weight:bold;\">{1}</font></p></div>", PA, Convert.ToInt32(numeroHabitantes));
        return res;
    }
    protected string GMap1_Click(object s, GAjaxServerEventArgs e)
    {
        GLatLng latlong = new GLatLng(e.point.lat, e.point.lng);
        //GMap1.setCenter(latlong, 4);

        GMarker icono = new GMarker(latlong);
        String strInfo = "hola christmo";
        GInfoWindow window = new GInfoWindow(icono, strInfo, false, GListener.Event.click);

        GMap1.addGMarker(icono);
        GMap1.addInfoWindow(window);


        return string.Format("{0}.panTo({1})", e.who, e.point.ToString("new"));
    }

}
